package 深信服;

/**
 * @author tmh
 * @date 2024/8/22 17:01
 * @description
 */
public class T02魔法珠宝展览会 {
    public static void main(String[] args) {
        int[] nums = new int[]{3, 2, 5, 10, 7};
        int k = 2;
        System.out.println(display(nums, k));

    }

    /**
     * 思路类似于打家劫舍
     *
     * @param nums
     * @param k
     * @return
     */
    public static int display(int[] nums, int k) {
        int len = nums.length;
        int[] dp = new int[len + 1];
        //初始化dp数组的前面两个元素
        dp[0] = 0;
        dp[1] = nums[0];
        for (int i = 2; i <= len; i++) {
            //根据k的范围来选择对应范围的珠宝,dp[i-k]!!!
            if (i > k) {
                dp[i] = Math.max(dp[i - 1], dp[i - k] + nums[i - 1]);
            } else {
                dp[i] = Math.max(dp[i - 1], nums[i - 1]);
            }
        }
        return dp[len];
    }
}
